#!usr/bin/env python  
# -*- coding:utf-8 _*-
""" 
@author:robot
@file: splice02_sole_type.py 
@version:
@time: 2022/01/18 
"""
from TapClientCaseData.ColumnGenerateData.dynamic.splice01_mysql.splice01_category_type import *

__all__ = ['SOLE_MYSQL_TYPE_CHAR', 'SOLE_MYSQL_TYPE_VARCHAR', 'SOLE_MYSQL_TYPE_BINARY', 'SOLE_MYSQL_TYPE_VARBINARY',
           'SOLE_MYSQL_TYPE_TINYBLOB', 'SOLE_MYSQL_TYPE_TINYTEXT', 'SOLE_MYSQL_TYPE_BLOB', 'SOLE_MYSQL_TYPE_TEXT',
           'SOLE_MYSQL_TYPE_MEDIUMBLOB', 'SOLE_MYSQL_TYPE_MEDIUMTEXT', 'SOLE_MYSQL_TYPE_LONGBLOB',
           'SOLE_MYSQL_TYPE_LONGTEXT', 'SOLE_MYSQL_TYPE_ENUM', 'SOLE_MYSQL_TYPE_SET',

           'SOLE_MYSQL_TYPE_BIT', 'SOLE_MYSQL_TYPE_TINYINT', 'SOLE_MYSQL_TYPE_TINYINT_UNSIGNED',
           'SOLE_MYSQL_TYPE_BOOL', 'SOLE_MYSQL_TYPE_BOOLEAN', 'SOLE_MYSQL_TYPE_SMALLINT',
           'SOLE_MYSQL_TYPE_SMALLINT_UNSIGNED', 'SOLE_MYSQL_TYPE_MEDIUMINT',
           'SOLE_MYSQL_TYPE_MEDIUMINT_UNSIGNED', 'SOLE_MYSQL_TYPE_INT', 'SOLE_MYSQL_TYPE_INT_UNSIGNED',
           'SOLE_MYSQL_TYPE_BIGINT', 'SOLE_MYSQL_TYPE_BIGINT_UNSIGNED', 'SOLE_MYSQL_TYPE_DECIMAL',
           'SOLE_MYSQL_TYPE_DECIMAL_UNSIGNED', 'SOLE_MYSQL_TYPE_FLOAT',
           'SOLE_MYSQL_TYPE_FLOAT_UNSIGNED', 'SOLE_MYSQL_TYPE_DOUBLE',
           'SOLE_MYSQL_TYPE_DOUBLE_UNSIGNED',

           'SOLE_MYSQL_TYPE_DATE', 'SOLE_MYSQL_TYPE_DATETIME', 'SOLE_MYSQL_TYPE_TIMESTAMP',
           'SOLE_MYSQL_TYPE_TIME', 'SOLE_MYSQL_TYPE_YEAR', 'SOLE_MYSQL_TYPE_DATETIME57', 'SOLE_MYSQL_TYPE_TIMESTAMP57',
           'SOLE_MYSQL_TYPE_TIME57',

           'SOLE_MYSQL_TYPE_GEOMETRY', 'SOLE_MYSQL_TYPE_POINT', 'SOLE_MYSQL_TYPE_LINESTRING',# SPATIAL 暂不支持
           'SOLE_MYSQL_TYPE_POLYGON', 'SOLE_MYSQL_TYPE_MULTIPOINT', 'SOLE_MYSQL_TYPE_MULTILINESTRING',# SPATIAL 暂不支持
           'SOLE_MYSQL_TYPE_MULTIPOLYGON', 'SOLE_MYSQL_TYPE_GEOMETRYCOLLECTION',  # SPATIAL 暂不支持

           'SOLE_MYSQL_TYPE_JSON']

print(f'MYSQL TYPE COUNT IS: {len(__all__)}')

# 使用 ALL_TYPE 进行列表生成式
SOLE_MYSQL_TYPE_LIST = [[PK, ONE_TYPE] for ONE_TYPE in MYSQL_ALL_TYPE[1:]]
SOLE_MYSQL_TYPE_LIST57 = [[PK, ONE_TYPE] for ONE_TYPE in MYSQL_ALL_TYPE57[1:]]

# SOLE STRING
SOLE_MYSQL_TYPE_CHAR = generate_columns_data(SOLE_MYSQL_TYPE_LIST[0])
SOLE_MYSQL_TYPE_VARCHAR = generate_columns_data(SOLE_MYSQL_TYPE_LIST[1])
SOLE_MYSQL_TYPE_BINARY = generate_columns_data(SOLE_MYSQL_TYPE_LIST[2])
SOLE_MYSQL_TYPE_VARBINARY = generate_columns_data(SOLE_MYSQL_TYPE_LIST[3])
SOLE_MYSQL_TYPE_TINYBLOB = generate_columns_data(SOLE_MYSQL_TYPE_LIST[4])
SOLE_MYSQL_TYPE_TINYTEXT = generate_columns_data(SOLE_MYSQL_TYPE_LIST[5])
SOLE_MYSQL_TYPE_BLOB = generate_columns_data(SOLE_MYSQL_TYPE_LIST[6])
SOLE_MYSQL_TYPE_TEXT = generate_columns_data(SOLE_MYSQL_TYPE_LIST[7])
SOLE_MYSQL_TYPE_MEDIUMBLOB = generate_columns_data(SOLE_MYSQL_TYPE_LIST[8])
SOLE_MYSQL_TYPE_MEDIUMTEXT = generate_columns_data(SOLE_MYSQL_TYPE_LIST[9])
SOLE_MYSQL_TYPE_LONGBLOB = generate_columns_data(SOLE_MYSQL_TYPE_LIST[10])
SOLE_MYSQL_TYPE_LONGTEXT = generate_columns_data(SOLE_MYSQL_TYPE_LIST[11])
SOLE_MYSQL_TYPE_ENUM = generate_columns_data(SOLE_MYSQL_TYPE_LIST[12])
SOLE_MYSQL_TYPE_SET = generate_columns_data(SOLE_MYSQL_TYPE_LIST[13])

# SOLE NUMERIC
SOLE_MYSQL_TYPE_BIT = generate_columns_data(SOLE_MYSQL_TYPE_LIST[14])
SOLE_MYSQL_TYPE_TINYINT = generate_columns_data(SOLE_MYSQL_TYPE_LIST[15])
SOLE_MYSQL_TYPE_TINYINT_UNSIGNED = generate_columns_data(SOLE_MYSQL_TYPE_LIST[16])
SOLE_MYSQL_TYPE_BOOL = generate_columns_data(SOLE_MYSQL_TYPE_LIST[17])
SOLE_MYSQL_TYPE_BOOLEAN = generate_columns_data(SOLE_MYSQL_TYPE_LIST[18])
SOLE_MYSQL_TYPE_SMALLINT = generate_columns_data(SOLE_MYSQL_TYPE_LIST[19])
SOLE_MYSQL_TYPE_SMALLINT_UNSIGNED = generate_columns_data(SOLE_MYSQL_TYPE_LIST[20])
SOLE_MYSQL_TYPE_MEDIUMINT = generate_columns_data(SOLE_MYSQL_TYPE_LIST[21])
SOLE_MYSQL_TYPE_MEDIUMINT_UNSIGNED = generate_columns_data(SOLE_MYSQL_TYPE_LIST[22])
SOLE_MYSQL_TYPE_INT = generate_columns_data(SOLE_MYSQL_TYPE_LIST[23])
SOLE_MYSQL_TYPE_INT_UNSIGNED = generate_columns_data(SOLE_MYSQL_TYPE_LIST[24])
SOLE_MYSQL_TYPE_BIGINT = generate_columns_data(SOLE_MYSQL_TYPE_LIST[25])
SOLE_MYSQL_TYPE_BIGINT_UNSIGNED = generate_columns_data(SOLE_MYSQL_TYPE_LIST[26])
SOLE_MYSQL_TYPE_DECIMAL = generate_columns_data(SOLE_MYSQL_TYPE_LIST[27])
SOLE_MYSQL_TYPE_DECIMAL_UNSIGNED = generate_columns_data(SOLE_MYSQL_TYPE_LIST[28])
SOLE_MYSQL_TYPE_FLOAT = generate_columns_data(SOLE_MYSQL_TYPE_LIST[29])
SOLE_MYSQL_TYPE_FLOAT_UNSIGNED = generate_columns_data(SOLE_MYSQL_TYPE_LIST[30])
SOLE_MYSQL_TYPE_DOUBLE = generate_columns_data(SOLE_MYSQL_TYPE_LIST[31])
SOLE_MYSQL_TYPE_DOUBLE_UNSIGNED = generate_columns_data(SOLE_MYSQL_TYPE_LIST[32])

# DATE/TIME
SOLE_MYSQL_TYPE_DATE = generate_columns_data(SOLE_MYSQL_TYPE_LIST[33])
SOLE_MYSQL_TYPE_DATETIME57 = generate_columns_data(MYSQL_DATE_TIME57)
SOLE_MYSQL_TYPE_DATETIME = generate_columns_data(SOLE_MYSQL_TYPE_LIST[34])
SOLE_MYSQL_TYPE_TIMESTAMP57 = generate_columns_data(MYSQL_TIMESTAMP57)
SOLE_MYSQL_TYPE_TIMESTAMP = generate_columns_data(SOLE_MYSQL_TYPE_LIST[35])
SOLE_MYSQL_TYPE_TIME57 = generate_columns_data(MYSQL_TIME57)
SOLE_MYSQL_TYPE_TIME = generate_columns_data(SOLE_MYSQL_TYPE_LIST[36])
SOLE_MYSQL_TYPE_YEAR = generate_columns_data(SOLE_MYSQL_TYPE_LIST[37])
# SOLE_MYSQL_TYPE_YEAR2 = generate_columns_data(SOLE_MYSQL_TYPE_LIST[38])
# print(SOLE_MYSQL_TYPE_YEAR2)

# SPATIAL DATA
SOLE_MYSQL_TYPE_GEOMETRY = generate_columns_data(SOLE_MYSQL_TYPE_LIST[38])
SOLE_MYSQL_TYPE_POINT = generate_columns_data(SOLE_MYSQL_TYPE_LIST[39])
SOLE_MYSQL_TYPE_LINESTRING = generate_columns_data(SOLE_MYSQL_TYPE_LIST[40])
SOLE_MYSQL_TYPE_POLYGON = generate_columns_data(SOLE_MYSQL_TYPE_LIST[41])
SOLE_MYSQL_TYPE_MULTIPOINT = generate_columns_data(SOLE_MYSQL_TYPE_LIST[42])
SOLE_MYSQL_TYPE_MULTILINESTRING = generate_columns_data(SOLE_MYSQL_TYPE_LIST[43])
SOLE_MYSQL_TYPE_MULTIPOLYGON = generate_columns_data(SOLE_MYSQL_TYPE_LIST[44])
SOLE_MYSQL_TYPE_GEOMETRYCOLLECTION = generate_columns_data(SOLE_MYSQL_TYPE_LIST[45])

# JSON
SOLE_MYSQL_TYPE_JSON = generate_columns_data(SOLE_MYSQL_TYPE_LIST[46])
